﻿using System;
public interface IExt
{
    /// <summary>
    /// Executes presentation service code.
    /// </summary>
    /// <param name="action">A delegate to execute.</param>
    void Execute(Action action);

    /// <summary>
    /// Executes presentation service code.
    /// </summary>
    /// <typeparam name="TResult">The result type.</typeparam>
    /// <param name="action">A delegate to execute.</param>
    /// <param name="finalAction">When finally execute function.</param>
    /// <returns>Returns the result.</returns>
    TResult Execute<TResult>(Func<TResult> action, Action finalAction);
}